home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 March / Macworld (1998-03) (Disk 1).dmg / Shareware World / Utilities / Text Processing / Alpha / Tcl / Modes / latex Mode / latexKeys.tcl < prev    next >
Encoding:
Text File  |  1997-11-26  |  4.6 KB  |  125 lines  |  [TEXT/ALFA]

  1. #############################################################################
  2. #############################################################################
  3. #
  4. # latexKeys.tcl (called from latex.tcl)
  5. #
  6. # Special LaTeX key bindings (see latexMenu.tcl for additional bindings)
  7. #
  8. # abbreviations:  <o> = option, <z> = control, <s> = shift, <c> = command
  9. #
  10. #############################################################################
  11. #
  12. # Author:  Tom Scavo <trscavo@syr.edu>
  13. #
  14. #############################################################################
  15. proc latexKeys.tcl {} {}
  16.  
  17. ##############################################################################
  18.  
  19. # Initial binding of LaTeX command keys.
  20. proc bindLaTeXKeys {} {
  21.     
  22.     proc bindKeypadKeys {} {
  23.         # Completely take over the keypad:
  24.         set mods {<> <c> <o> <z> <s> <co> <cz> <cs> <oz> <os> <zs> \
  25.                   <coz> <cos> <ozs> <cozs>}
  26.         foreach mod $mods {
  27.             bind Kpad0 $mod dummyTeX "TeX"
  28.             bind Kpad1 $mod dummyTeX "TeX"
  29.             bind Kpad2 $mod dummyTeX "TeX"
  30.             bind Kpad3 $mod dummyTeX "TeX"
  31.             bind Kpad4 $mod dummyTeX "TeX"
  32.             bind Kpad5 $mod dummyTeX "TeX"
  33.             bind Kpad6 $mod dummyTeX "TeX"
  34.             bind Kpad7 $mod dummyTeX "TeX"
  35.             bind Kpad8 $mod dummyTeX "TeX"
  36.             bind Kpad9 $mod dummyTeX "TeX"
  37.             bind Kpad= $mod dummyTeX "TeX"
  38.             bind Kpad/ $mod dummyTeX "TeX"
  39.             bind Kpad* $mod dummyTeX "TeX"
  40.             bind Kpad- $mod dummyTeX "TeX"
  41.             bind Kpad+ $mod dummyTeX "TeX"
  42.             bind Enter $mod dummyTeX "TeX"
  43.             bind Kpad. $mod dummyTeX "TeX"
  44.         }
  45.         bind Kpad8 prevSubsection "TeX"
  46.         bind Kpad2 nextSubsection "TeX"
  47.         bind Kpad8 <s> prevSubsectionSelect "TeX"
  48.         bind Kpad2 <s> nextSubsectionSelect "TeX"
  49.         bind Kpad8 <c> prevSection "TeX"
  50.         bind Kpad2 <c> nextSection "TeX"
  51.         bind Kpad8 <sc> prevSectionSelect "TeX"
  52.         bind Kpad2 <sc> nextSectionSelect "TeX"
  53.         bind Kpad4 prevCommand "TeX"
  54.         bind Kpad6 nextCommand "TeX"
  55.         bind Kpad4 <s> prevCommandSelect "TeX"
  56.         bind Kpad6 <s> nextCommandSelect "TeX"
  57.         bind Kpad4 <so> prevCommandSelectWithArgs "TeX"
  58.         bind Kpad6 <so> nextCommandSelectWithArgs "TeX"
  59.         bind Kpad4 <c> prevEnvironment "TeX"
  60.         bind Kpad6 <c> nextEnvironment "TeX"
  61.         bind Kpad4 <sc> prevEnvironmentSelect "TeX"
  62.         bind Kpad6 <sc> nextEnvironmentSelect "TeX"
  63.     }
  64.     
  65.     proc bindGreekKeys {func} {
  66.         $func    'm'    <z>    prefixChar "TeX"
  67.         $func    'a'    <M>    [list TeX::mp::greek "" alpha] "TeX"
  68.         $func    'b'    <M>    [list TeX::mp::greek "" beta]    "TeX"
  69.         $func    'c'    <M>    [list TeX::mp::greek "" chi]    "TeX"
  70.         $func    'd'    <M>    [list TeX::mp::greek "" delta]    "TeX"
  71.         $func    'd'    <sM>    [list TeX::mp::greek "" Delta]    "TeX"
  72.         $func    'e'    <M>    [list TeX::mp::greek "" epsilon]    "TeX"
  73.         $func    'e'    <zM>    [list TeX::mp::greek "" varepsilon]    "TeX"
  74.         $func    'f'    <M>    [list TeX::mp::greek "" phi]    "TeX"
  75.         $func    'f'    <sM>    [list TeX::mp::greek "" Phi]    "TeX"
  76.         $func    'f'    <zM>    [list TeX::mp::greek "" varphi]    "TeX"
  77.         $func    'g'    <M>    [list TeX::mp::greek "" gamma]    "TeX"
  78.         $func    'g'    <sM>    [list TeX::mp::greek "" Gamma]    "TeX"
  79.         $func    'h'    <M>    [list TeX::mp::greek "" eta]    "TeX"
  80.         $func    'i'    <M>    [list TeX::mp::greek "" iota]    "TeX"
  81.         $func    'k'    <M>    [list TeX::mp::greek "" kappa]    "TeX"
  82.         $func    'l'    <M>    [list TeX::mp::greek "" lambda]    "TeX"
  83.         $func    'l'    <sM>    [list TeX::mp::greek "" Lambda]    "TeX"
  84.         $func    'm'    <M>    [list TeX::mp::greek "" mu]    "TeX"
  85.         $func    'n'    <M>    [list TeX::mp::greek "" nu]    "TeX"
  86.         $func    'o'    <M>    [list TeX::mp::greek "" omicron]    "TeX"
  87.         $func    'p'    <M>    [list TeX::mp::greek "" pi]    "TeX"
  88.         $func    'p'    <sM>    [list TeX::mp::greek "" Pi]    "TeX"
  89.         $func    'p'    <zM>    [list TeX::mp::greek "" varpi]    "TeX"
  90.         $func    'q'    <M>    [list TeX::mp::greek "" theta]    "TeX"
  91.         $func    'q'    <sM>    [list TeX::mp::greek "" Theta]    "TeX"
  92.         $func    'q'    <zM>    [list TeX::mp::greek "" vartheta]    "TeX"
  93.         $func    'r'    <M>    [list TeX::mp::greek "" rho]    "TeX"
  94.         $func    'r'    <zM>    [list TeX::mp::greek "" varrho]    "TeX"
  95.         $func    's'    <M>    [list TeX::mp::greek "" sigma]    "TeX"
  96.         $func    's'    <sM>    [list TeX::mp::greek "" Sigma]    "TeX"
  97.         $func    's'    <zM>    [list TeX::mp::greek "" varsigma]    "TeX"
  98.         $func    't'    <M>    [list TeX::mp::greek "" tau]    "TeX"
  99.         $func    'u'    <M>    [list TeX::mp::greek "" upsilon]    "TeX"
  100.         $func    'u'    <sM>    [list TeX::mp::greek "" Upsilon]    "TeX"
  101.         $func    'v'    <M>    [list TeX::mp::greek "" nabla]    "TeX"
  102.         $func    'w'    <M>    [list TeX::mp::greek "" omega]    "TeX"
  103.         $func    'w'    <sM>    [list TeX::mp::greek "" Omega]    "TeX"
  104.         $func    'x'    <M>    [list TeX::mp::greek "" xi]    "TeX"
  105.         $func    'x'    <sM>    [list TeX::mp::greek "" Xi]    "TeX"
  106.         $func    'y'    <M>    [list TeX::mp::greek "" psi]    "TeX"
  107.         $func    'y'    <sM>    [list TeX::mp::greek "" Psi]    "TeX"
  108.         $func    'z'    <M>    [list TeX::mp::greek "" zeta]    "TeX"
  109.     }
  110.  
  111.     bindKeypadKeys
  112.     bindGreekKeys "bind"
  113.     
  114.     # bind double quote:
  115.     ascii 0x22 <s> smartDQuote TeX
  116.     # bind single quote:
  117.     ascii 0x27 smartQuote TeX
  118.     # bind period:
  119.     ascii 0x2e smartDots "TeX"
  120.     # bind delete key:
  121.     ascii 0x08 escapeSmartStuff "TeX"
  122.  
  123. }
  124.  
  125.